package com.lantosec.hmrp.modules.system.service;

import com.lantosec.hmrp.core.kit.PageVO;
import com.lantosec.hmrp.core.kit.Result;
import com.lantosec.hmrp.modules.system.entity.SysDeptPosition;
import com.lantosec.hmrp.modules.system.entity.SysPosition;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lantosec.hmrp.modules.system.entity.SysPositionRole;

import java.util.List;

/**
 * <p>
 * 岗位表 服务类
 * </p>
 *
 * @author AutoCode
 * @since 2020-02-12
 */
public interface ISysPositionService extends IService<SysPosition> {

    /**
     * 更新岗位管理排序
     * @param id
     * @param positionOrder
     */
    public void updateOrder(String id,Integer positionOrder);

    /**
     * 查询部门下的岗位
     * @param deptId
     * @return
     */
    PageVO<SysDeptPosition> getPositionByDeptId(PageVO<SysDeptPosition> page,String deptId);

    /**
     * 设置部门岗位的上级管理岗
     * @param sysDeptPosition
     */
    void updateSysDeptPosition(SysDeptPosition sysDeptPosition);

    /**
     * 查询部门下的岗位
     * @param deptId
     * @return
     */
    List<SysDeptPosition> getPositionByDeptIdList(String deptId);

    /**
     * 查询部门岗位下的角色
     * @param deptId
     * @param positionId
     * @return
     */
    List<SysPositionRole> getSysPositionRole(String deptId, String positionId);

    /**
     * 更新部门岗位下的角色
     * @param sysPositionRole
     */
    void updateSysPositionRole(SysPositionRole sysPositionRole);

    /**
     * 删除岗位信息
     * @param ids
     * @return
     */
    Result deletePositionInfo(String ids);
}
